#ifndef CORE_POINT_H
#define CORE_POINT_H

namespace core
{

class Point
{
public:
	int X;
	int Y;

	Point( int x, int y );
	Point( const Point& orig );

	Point operator +=(const Point& pos );
	Point operator -=(const Point& pos );
};

inline Point operator-(const Point& v )
{
	return Point( -v.X, -v.Y );
}

inline Point operator+(const Point& a, const Point& b )
{
	return Point( a.X + b.X, a.Y + b.Y );
}

inline Point operator-(const Point& a, const Point& b )
{
	return Point( a.X - b.X, a.Y - b.Y );
}

inline bool operator ==(const Point& a, const Point& b )
{
	return a.X == b.X && a.Y == b.Y;
}

inline bool operator !=(const Point& a, const Point& b )
{
	return a.X != b.X || a.Y != b.Y;
}
}
#endif	/* POINT_H */
